A Program Logic for Bytecode
نویسندگان
چکیده
Program logics for bytecode languages such as Java bytecode or the .NET CIL can be used to apply Proof-Carrying Code concepts to bytecode programs and to verify correctness properties of bytecode programs. This paper presents a Hoare-style logic for a sequential bytecode kernel language similar to Java bytecode and CIL. The logic handles object-oriented features such as inheritance, dynamic method binding, and object structures with destructive updates, as well as unstructured control flow with jumps. It is sound and complete.
منابع مشابه
Java bytecode Verification using Analysis and Transformation of Logic Programs
State of the art analyzers in the (Constraint) Logic Programming paradigm (or (C)LP for short) are nowadays mature and sophisticated. They allow inferring a wide variety of global properties including termination, run-time error freeness, bounds on resource consumption, etc. The aim of this work is to automatically transfer the power of such analysis tools for LP to the analysis and verificatio...
متن کاملUsing CLP Simplifications to Improve Java Bytecode Termination Analysis
In an earlier work, a termination analyzer for Java bytecode was developed that translates a Java bytecode program into a constraint logic program and then proves the termination of the latter. An efficiency bottleneck of the termination analyzer is the construction of a proof of termination for the generated constraint logic program, which is often very large in size. In this paper, a set of p...
متن کاملProof-Directed De-compilation of Java Bytecode
We present a proof system for the Java bytecode language based on a Curry-Howard isomorphism for machine code, where an executable code is regarded as a proof of a variant of a sequent calculus of the intuitionistic propositional logic. Diierent from type systems for Java bytecode so far proposed, our proof system not only speciies type consistency but also represents the computation denoted by...
متن کاملJava Bytecode Veriication Using Model Checking ?
We provide an abstract interpretation for Java bytecode in order to build nite state models of bytecode programs. The bytecode constraints for assuring safety are formulated in terms of temporal logic formulae. These formulae are checked against the nite program models by a (standard) model checker. By doing so we see a practical way to perform bytecode veriication on a formal basis. This could...
متن کاملTowards Verification of Java Bytecode using Logic Programming Tools
State of the art analyzers in the (Constraint) Logic Programming paradigm (or (C)LP for short) are nowadays mature and sophisticated. They allow inferring a wide variety of global properties including termination, run-time error freeness, bounds on resource consumption, etc. The aim of this work is to automatically transfer the power of such analysis tools for LP to the analysis and verificatio...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Electr. Notes Theor. Comput. Sci.
دوره 141 شماره
صفحات -
تاریخ انتشار 2005